#ifndef _DEFAULT_PARAMETER_MANAGER_H_
#define _DEFAULT_PARAMETER_MANAGER_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <list>
#include "..\Parser\MapList.h"
#include "..\Enum\ObjectType.h"
#include "..\Enum\ObjectTypeUtils.h"
#include "..\Logger\Logger.h"
#include "..\Color\Color.h"
#include "..\Factory\ColorFactory.h"
#include "..\Factory\TextureFactory.h"
#include "..\Validator\ValidatorUtils.h"
#include "..\Exceptions\InvalidIntegerException.h"
#include "..\Exceptions\InvalidColorException.h"
#include "..\Exceptions\TextureNotFoundException.h"
#include "..\Container\DefaultParameterContainer.h"


class DefaultParameterManager{
	
	public:

		static DefaultParameterManager* getInstance();

		virtual ~DefaultParameterManager();

		void fillContainer(MapList* generalTag);

		void manageGeneralTag(std::list<MapList*> elements);

		static void destroy();

	private:

		DefaultParameterManager();
		
		static DefaultParameterManager* instance;

};

#endif
